This invention relates to a digital filter using convolution operation and being capable of performing operation accurately with a relatively short word length.
In a Compact Disc player in the Compact Disc Digital Audio System, for example, a digital filter is disposed in the former stage of a digital-to-analog converter provided for converting a reproduced PCM signal to an analog signal and is utilized for, for example, alleviating the burden imposed on a low-pass filter provided in the latter stage of the digital-to-analog converter.
A digital filter performs, as shown by an FIR (nonrecursive) type digital filter in FIG. 2, for example, convolution operation according to which an input sample xi is sequentially and successively delayed by one sample by delay circuits 10-1, 10-2, . . . 10-20, delayed signals are multiplied with coefficients C.sub.-10, C.sub.-9, . . . , C.sub.0, . . . , C.sub.10 corresponding to impulse response of the filter by coefficient multipliers 12-1, 1, 12-2, 12-21 and results of the multiplication are all accumulated by an accumulator (adder) 14.
In a case where an ideal filter as shown in FIG. 3 is realized, these coefficients of the convolution operation are given by a general formula: ##EQU1## If they are expressed in binary 16 bits, they assume values shown in FIG. 4. Since coefficients of the ideal filter are symmetrical with respect to t=0 as shown in FIG. 3 (they become C.sub.1 =C.sub.-1, C.sub.2 =C.sub.-2, . . . in the example of FIG. 2), only one side of the symmetrical coefficients is shown in FIG. 4.
The representation in FIG. 4 is made by using 2's complement which is a form of binary code. In 2's complement, MSB (most significant bit) constitutes a sign bit. If the sign bit is "0", it represents a positive value whereas if the sign bit is "1", it represents a negative value. The lower is the order of digit at which the code is turned from 1 to 0 or from 0 to 1 for the first time as viewed in the direction from MSB to LSB, the smaller becomes the value of the coefficient.
In the conventional Compact Disc player, a digital filter of a fixed decimal point operation type as shown in FIG. 4 in which coefficients are used for the convolution operation without any modification is generally used.
As will be understood from FIG. 4, there are both large values and small values in coefficients used for the convolution operation in a digital filter. If coefficients of such various values are expressed with the same word length (16 bits in FIG. 4), several leftmost bits are not used for relatively small coefficients but a reduced number of bits are used for expressing such small coefficients (in the example of FIG. 4, for example, the coefficient C.sub.1 (coefficient adjacent to the center of impulse response) has 15 significant digits whereas the coefficient C.sub.20 has only 10 significant digits) so that the accuracy of the coefficient is substantially reduced as the value of the coefficient decreases.
Further, since the word length for expressing the coefficient is limited, digits less than LSB are rounded (e.g., discarded) in each coefficient with a result that each coefficient has a rounding error. If, accordingly, the convolution operation is performed under this condition, rounding errors are accumulated by the accumulation function performed by an accumulator and are carried to a higher order with a resulting decrease in the accuracy of the filter. Such decrease in the accuracy produces a ripple in the frequency characteristics of the filter.
For preventing carrying of the rounding error to a higher order bit in the fixed decimal point operation type digital filter, the accumulator must have spare bits corresponding to the number of times of accumulation in the convolution operation in addition to normal bits (i.e., bits outputted as a value resulting from the convolution operation). If, for example, the accumulation function is performed 1024 times, 10 extra bits must be added to the LSB of normal bits. Thus, the word length of the accumulator becomes unduly long for the number of bits which are finally delivered out as the value of the convolution operation.
It is, therefore, an object of the invention to provide a digital filter capable of performing the convolution operation accurately with a shorter operation word length.